/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Control;

import DAO.RecursoDAO;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;

/**
 *
 * @author Henrique
 */
public class cadastraRecurso extends Processor {

    @Override
    public void execute() throws ServletException, IOException {
        PrintWriter out = getResponse().getWriter();
        getResponse().setContentType("text/html;charset=UTF-8");
        try{
            int quantidade = -1;
            String nome = (String) getRequest().getParameter("nomeRecurso");
            String q = (String) getRequest().getParameter("quantidade");
            
            if(!q.equals("")){            
                quantidade = Integer.parseInt(q);
            }
            
            if(nome == null){
                throw new ServletException();
            }            
            
            if(nome.equals("")){
                String erro = "Nome deve ser preenchido!";
                getRequest().setAttribute("erro", erro);
                RequestDispatcher rd = getRequest().getRequestDispatcher("cadastrarRecurso.jsp");
                rd.forward(getRequest(), getResponse());
            }                 
                      
            boolean sucesso = RecursoDAO.inserir(nome, quantidade);
            
            if(sucesso){
                String mensagem = "Recurso cadastrado com sucesso!";
                getRequest().setAttribute("mensagem", mensagem);
                RequestDispatcher rd = getRequest().getRequestDispatcher("menuAdministrador.jsp");
                rd.forward(getRequest(), getResponse());
            }
            else if(!sucesso){
                String erro = "Recurso já existe!";
                getRequest().setAttribute("erro", erro);
                RequestDispatcher rd = getRequest().getRequestDispatcher("cadastrarRecurso.jsp");
                rd.forward(getRequest(), getResponse());
            }
        }
        catch(SQLException e){
            throw new ServletException(e); 
        }
        catch(ClassNotFoundException e){
            throw new ServletException(e);
        }
        catch(NumberFormatException e){
            String erro = "Quantidade deve ser um número válido!";
            getRequest().setAttribute("erro", erro);
            RequestDispatcher rd = getRequest().getRequestDispatcher("cadastrarRecurso.jsp");
            rd.forward(getRequest(), getResponse());                    
        }
    }
        
}
